package label_center

import (
	"time"

	"github.com/qida/gohp/timex"
)

// 子订阅任务记录

// 子订阅 删除 请求
type ReqDeleteRecTaskSubscribe struct {
	IdSubscribe int64 `json:"IdSubscribe"` //Id(雪花)

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 子订阅 获取列表 请求
type ReqListRecTaskSubscribe struct {
	IdSubscribe int64 `json:"IdSubscribe"` //订阅Id

	Page        int64    `json:"Page"`                  //必填 指定返回页码号
	Limit       int64    `json:"Limit"`                 //必填 指定返回每页条数
	FieldOrders []string `json:"FieldOrders,omitempty"` //指定要排序的字段数组，默认升序，降序加前缀-，如 ["-Id", "Name"] 按Id降序Name升序排列

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 子订阅 修改 请求
type ReqUpdateRecTaskSubscribe struct {
	IdRecTaskSubscribe int64  `json:"IdRecTaskSubscribe"` //Id(雪花)
	IdSubscribe        int64  `json:"IdSubscribe"`        //订阅Id
	SubscribeName      string `json:"SubscribeName"`      //订阅名称
	TypeSubscribe      int8   `json:"TypeSubscribe"`      //是否为历史调阅 历史=1 实时=2

	IdRecScheme   []string  `json:"IdRecSchemes"`  //AI分析方案Id
	DateTimeStart time.Time `json:"DateTimeStart"` //开始日期
	DateTimeEnd   time.Time `json:"DateTimeEnd"`   //结束日期

	ImageRate int `json:"ImageRate"` //抽图频率，每张毫秒数

	Status int8 `json:"Status"` //状态 正常=10 禁用=-1

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 子订阅 查询 请求
type ReqSearchRecTaskSubscribe struct {
	KeyWord            string `json:"KeyWord,omitempty"`  //全局关键词
	IdRecTaskSubscribe int64  `json:"IdRecTaskSubscribe"` //Id(雪花)

	DeviceId string `json:"DeviceId"` //国标Id集

	IdRecTask      int64     `json:"IdRecTask"`      //Id(雪花)
	IdSubscribe    int64     `json:"IdSubscribe"`    //订阅Id
	IdRecSubscribe int64     `json:"IdRecSubscribe"` //子订阅Id
	TypeSubscribe  int8      `json:"TypeSubscribe"`  //订阅类型 1:历史 2:实时
	Status         int8      `json:"Status"`         //状态 正常=10 禁用=-1
	TimeCreate     time.Time `json:"TimeCreate"`     //记录创建时间
	TimeUpdate     time.Time `json:"TimeUpdate"`     //最后修改时间

	Page        int64    `json:"Page"`                  //必填 指定返回页码号
	Limit       int64    `json:"Limit"`                 //必填 指定返回每页条数
	FieldOrders []string `json:"FieldOrders,omitempty"` //指定要排序的字段数组，默认升序，降序加前缀-，如 ["-Id", "Name"] 按Id降序Name升序排列

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 子订阅 单记录对象 请求
type ReqRecTaskSubscribeId struct {
	IdRecTaskSubscribe int64 `json:"IdRecTaskSubscribe"` //Id(雪花)

	Log Log `json:"Log,omitempty"` //追踪日志
}

// 子订阅 查询流列表 请求
type ReqListStreamsRecTaskSubscribe struct {
	DeviceId string `json:"DeviceId"` //国标Id集

	Page        int64    `json:"Page"`                  //不必填，指定返回页码号
	Limit       int64    `json:"Limit"`                 //不必填，指定返回每页条数
	FieldOrders []string `json:"FieldOrders,omitempty"` //不必填，指定要排序的字段数组，默认升序，降序加前缀-，如 ["-Id", "Name"] 按Id降序Name升序排列

	Log Log `json:"Log,omitempty"` //追踪日志
}
type RespRecTaskSubscribe struct {
	IdRecTaskSubscribe int64     `json:"IdRecTaskSubscribe"` //Id(雪花)
	IdSubscribe        int64     `json:"IdSubscribe"`        //订阅Id
	DeviceId           string    `json:"DeviceId"`           //国标Id
	TypeSubscribe      int8      `json:"TypeSubscribe"`      //订阅类型 1:历史 2:实时
	DateTimeStart      time.Time `json:"DateTimeStart"`      //开始日期
	DateTimeEnd        time.Time `json:"DateTimeEnd"`        //结束日期
	ImageRate          int       `json:"ImageRate"`          //抽图频率，每张毫秒数
	Status             int8      `json:"Status"`             //状态 正常=10 禁用=-1
	IdRecSchemes       []string  `json:"IdRecSchemes"`       //AI分析方案参数Id

	TimeCreate time.Time      `json:"TimeCreate"` //记录创建时间
	TimeUpdate timex.TimeNull `json:"TimeUpdate"` //最后修改时间
	TimeDelete timex.TimeNull `json:"TimeDelete"` //删除时间
}

// 响应 查询列表
type RespRecTaskSubscribes struct {
	Total             int64                  `json:"Total"`             //返回列表的总条数
	RecTaskSubscribes []RespRecTaskSubscribe `json:"RecTaskSubscribes"` //返回列表对象
}
